﻿/**
 * Created by caelan on 2018/10/25.
 */
var tablePage = {
    /*表格头部字段*/
    tableHeadField: [],
    tableEnglishField:[],

    /*修改后表格头部，用于新增字段增加*/
    tableHeader: [],

    /*查询最终展示数据，包括新增，修改，过滤等*/
    resultData:[],
    /*出图插值结果*/
    pointResultData:[],

    /*查询数据初始备份，深度还原操作*/
    recoverResponse: [],

    stationsData:[],//返回的国家站


    init: function () {
        var _this = this;
        /*loading动画*/
        var loadMask = layLayer.load(0, {shade: [0.3, '#000']});
        $.ajax({
            //后台查询面板
            url: Global.mdrms_service_url+"/mdrms/queryMdrmsInfo",
            type: 'post',
            dataType: 'json',
            data: {json:JSON.stringify(Global.postData)},
            success: function (res) {
                layLayer.close(loadMask);
                if(res.flag == false){
                    layer.alert(res.msg, {icon: 6});

                    return;
                }else{
                    colorSelect.init();
                    /*渲染表格数据*/
                    _this.renderTable(res);
                    /*跳转到表格数据页面*/
                    $('.content-nav .table-nav').trigger('click');
                }
            },
            error: function (e) {
                console.log(e);
                layLayer.close(loadMask);
            }
        });
    },
    renderTable: function ( res ) {
        var _this = this;
		
		 _this.tableHeadField = res.data.TitleList;
        _this.tableEnglishField = res.data.EnglishTitleList;
        _this.resultData =  res.data.ResultData;
        _this.pointResultData =  res.data.ResultData;


        if(Global.currentElement.indexOf("日照")>-1 || Global.currentElement.indexOf("降水")>-1  ){
            if( _this.tableHeadField.length>0){
                if(_this.tableHeadField.indexOf("距平")>-1 && _this.tableHeadField.indexOf("常年值")>-1){
                    _this.tableHeadField.push("距平百分率");
                }

            }
            if( _this.tableEnglishField.length>>0){
                if(_this.tableEnglishField.indexOf("HistoryNccDifStatistic")>-1 && _this.tableEnglishField.indexOf("常年值")>-1){
                    _this.tableEnglishField.push("距平百分率");
                }
            }
            if(_this.resultData.length>0){//添加距平百分率
                for(var i=0;i<_this.resultData.length;i++){
                    if(typeof(this.resultData[i].HistoryNccDifStatistic) !="undefined" && typeof(_this.resultData[i].常年值) !="undefined"){
                        var jpval = _this.resultData[i].HistoryNccDifStatistic;//距平
                        var cnval = _this.resultData[i].常年值;
                        var bfb = (Math.round(jpval / cnval * 10000) / 100.00)+ "%";//保留小数点2位
                        _this.resultData[i].距平百分率 = bfb;
                    }

                }
            }
        }
        //给表格添加适宜度等级字段
        //if(Global.currentElement.indexOf("小麦")>-1 || Global.currentElement.indexOf("玉米")>-1 || Global.currentElement.indexOf("水稻")>-1 || Global.currentElement.indexOf("油菜")>-1){
            //var arr1=['-1','0','1'];
            //var arr2=['不适宜','较适宜','适宜'];
            // if( _this.tableHeadField.length>0){
            //     if(_this.tableHeadField.indexOf("相对湿度适宜度")>-1 || _this.tableHeadField.indexOf("平均温度适宜度")>-1 || _this.tableHeadField.indexOf("气温适宜度")>-1 || _this.tableHeadField.indexOf("降水适宜度")>-1 || _this.tableHeadField.indexOf("日照适宜度")>-1){
            //         _this.tableHeadField.push("适宜度等级");
            //     }
            //
            // }
            // if( _this.tableEnglishField.length>>0){
            //     if(_this.tableHeadField.indexOf("平均温度适宜度")>-1){
            //         _this.tableEnglishField.push("适宜度等级");
            //     }
            // }
            // if(_this.resultData.length>0){//添加适宜度等级
            //     for(var i=0;i<_this.resultData.length;i++){
            //         if(typeof(this.resultData[i].相对湿度适宜度) !="undefined" || typeof(_this.resultData[i].平均温度适宜度) !="undefined" || typeof(_this.resultData[i].气温适宜度) !="undefined" || typeof(_this.resultData[i].降水适宜度) !="undefined" || typeof(_this.resultData[i].日照适宜度) !="undefined"){
            //             for(var x=0; x<arr1.length-1; x++){
            //                 for(var y=x; y<arr2.length-1; y++){
            //                     if(arr1[j] == _this.resultData[i].相对湿度适宜度){
            //                         _this.resultData[i].适宜度等级 = arr2[y];
            //                     }
            //                     if(arr1[j] == _this.resultData[i].平均温度适宜度){
            //                         _this.resultData[i].适宜度等级 = arr2[y];
            //                     }
            //                     if(arr1[j] == _this.resultData[i].气温适宜度){
            //                         _this.resultData[i].适宜度等级 = arr2[y];
            //                     }
            //                     if(arr1[j] == _this.resultData[i].降水适宜度){
            //                         _this.resultData[i].适宜度等级 = arr2[y];
            //                     }
            //                     if(arr1[j] == _this.resultData[i].日照适宜度){
            //                         _this.resultData[i].适宜度等级 = arr2[y];
            //                     }
            //                 }
            //             }
            //             // _this.resultData[i].适宜度等级 = bfb;
            //         }
            //
            //     }
            // }
        //}

        // if( _this.tableEnglishField.length>0 ){//返回的数据调整 数据对调
        //     for (var i = 0; i <  _this.tableEnglishField.length; i++) {
        //         for (var j = i; j <  _this.tableEnglishField.length; j++) {
        //             if ( _this.tableEnglishField[i] =="站号" &&  _this.tableEnglishField[j]=="市") {
        //                 var temp =  _this.tableEnglishField[i];
        //                 _this.tableEnglishField[i] =  _this.tableEnglishField[j];
        //                 _this.tableEnglishField[j] = temp;
        //             }
        //         }
        //     }
        //     // console.log( _this.tableEnglishField)
        //
        // }
        // if( _this.tableHeadField.length>0 ){//返回filed调整 表头字段名对调 市<--站号
        //     for (var i = 0; i < _this.tableHeadField.length; i++) {//显示的数据调整
        //         for (var j = i; j <  _this.tableHeadField.length; j++) {
        //             if ( _this.tableHeadField[i] =="站号" &&  _this.tableHeadField[j]=="市") {//调换位置
        //                 var temp =  _this.tableHeadField[i];
        //                 _this.tableHeadField[i] =  _this.tableHeadField[j];
        //                 _this.tableHeadField[j] = temp;
        //             }
        //         }
        //     }
        // }
        if( _this.tableEnglishField.length>0 ){//返回的数据调整 数据对调
            for (var i = 0; i <  _this.tableEnglishField.length; i++) {
                for (var j = i; j <  _this.tableEnglishField.length; j++) {
                    if ( _this.tableEnglishField[i] =="站号" &&  _this.tableEnglishField[j]=="名称") {
                        var temp =  _this.tableEnglishField[i];
                        _this.tableEnglishField[i] =  _this.tableEnglishField[j];
                        _this.tableEnglishField[j] = temp;
                    }
                }
            }
            // console.log( _this.tableEnglishField)

        }

        if( _this.tableHeadField.length>0 ){//返回filed调整 表头字段名对调 站名<--站号
            for (var i = 0; i < _this.tableHeadField.length; i++) {//显示的数据调整
                for (var j = i; j <  _this.tableHeadField.length; j++) {
                    if ( _this.tableHeadField[i] =="站号" &&  _this.tableHeadField[j]=="名称") {//调换位置
                        var temp =  _this.tableHeadField[i];
                        _this.tableHeadField[i] =  _this.tableHeadField[j];
                        _this.tableHeadField[j] = temp;
                    }
                }
            }
        }


        var userinfo =null;
        if(localStorage.userInfo){
            userinfo =  JSON.parse(localStorage.userInfo);
        }
        // var areaName=$('#addr-show02').text();
        var stationType = $('#stationSelect option:selected') .val();
        var areaName=userinfo.cn;
        var areaCode=userinfo.code;
         _this.resultData=[];
        var stationData = _this.getAreaCode(areaCode);
        if(areaName.indexOf("陕西省") != -1){
            if(stationType=="CountryStation" && Global.currElementName.indexOf("土壤相对湿度") !=-1 ){//国家站的土壤湿度
                if(res.data.ResultData.length>0){
                    for(var x=0;x<res.data.ResultData.length;x++){
                        if(res.data.ResultData[x].站号.substring(0,1)=="5"){
                            _this.resultData.push(res.data.ResultData[x]);
                        }
                    }
                }
                _this.pointResultData =  _this.resultData;
            }else if(stationType=="Old723Station" && Global.currElementName.indexOf("土壤相对湿度") !=-1 ){
                if(res.data.ResultData.length>0){
                    for(var x=0;x<res.data.ResultData.length;x++){
                        if(res.data.ResultData[x].站号.substring(0,1)=="8"){
                            _this.resultData.push(res.data.ResultData[x]);
                        }
                    }
                }
            }else{
                _this.resultData =  res.data.ResultData;
            }
        }else{//获取对应编码的站号
            if(stationData.length>0){
                for(var x=0;x<stationData.length;x++){
                    for(var y=0;y<res.data.ResultData.length;y++){
                        if(res.data.ResultData[y].站号 == stationData[x].STATIONNUM){
                            _this.resultData.push(res.data.ResultData[y]);
                        }
                    }
                }
            }
        if(res.data.ResultData.length==1){//针对市区空间类型为所有的时候
                _this.resultData =  res.data.ResultData;
            }
        }
	_this.stationsData=[];	
        //查询的数据的站点
        for(var x=0;x< _this.resultData.length;x++){
            _this.stationsData.push( _this.resultData[x].站号);
        }
        //站点类型
        var result;
        if(Global.postData.staType=="CountryStation"){//国家站
            //去重
            result= _this.diff(Global.countryStations,_this.stationsData);
        }else if(Global.postData.staType=="AllStation"){
            var checkData=Global.postData.stations;
            //去重
            result= _this.diff(checkData,_this.stationsData);
        }else if(Global.postData.staType=="Old723Station"){//区域站
            //去重
            result= _this.diff(Global.oldStations,_this.stationsData);
        }
        /*todo 工具栏，可以做搜索操作等*/
           var toolBar = '<div class="layui-btn-container">' +
           // '<button class="layui-btn layui-btn-sm" lay-event="recoverChange">还原更改</button>' +
            '<button class="layui-btn layui-btn-sm" lay-event="dataFilter">数据过滤</button>' +
            '<button class="layui-btn layui-btn-sm" lay-event="addField">新增字段</button>' +
            '<button class="layui-btn layui-btn-sm" lay-event="gisGraphics">GIS图形制作</button>' +
            // '<button class="layui-btn layui-btn-sm" lay-event="chartPlay">统计图</button>' +
            '<button class="layui-btn layui-btn-sm" lay-event="toExcel">导出</button>' ;
            // '<button class="layui-btn layui-btn-sm" id="qs" style="background-color: red;display: none;" lay-event="qs">'+'缺失数据:' +result.length+'条'+'</button>' +
            // '</div>';
        // var name="气温,降水,相对湿度,日照,风速,气压,积雪深度,蒸发量,蒸散量";
        if("气温,降水,相对湿度,日照,风速,气压,积雪深度,蒸发量,蒸散量".indexOf(Global.ElementName)>-1 && Global.currentAreaCode=="61") {
            toolBar+=  '<button class="layui-btn layui-btn-sm" id="qs" style="background-color: red;" lay-event="qs">'+'缺失数据:' +result.length+'条'+'</button>' +
                '</div>';
        }else{
            toolBar+=  '</div>';
        }

        //double小数点精度处理 add by hanlinfeng//数据字段过滤不够完整 太冗杂
        for(var i=0; i<_this.resultData.length; i++){
            for(var j=0; j<_this.tableEnglishField.length; j++){
                if(_this.tableEnglishField[j] =="站号"||_this.tableEnglishField[j] =="站名"||_this.tableEnglishField[j] =="名称"||_this.tableEnglishField[j].indexOf("时间") !=-1||_this.tableEnglishField[j] =="市"||_this.tableEnglishField[j] =="日期"||_this.tableEnglishField[j] =="年"||_this.tableEnglishField[j] =="月"||_this.tableEnglishField[j] =="日"||_this.tableEnglishField[j] =="灾害类型"||_this.tableEnglishField[j] =="灾害等级"||typeof(_this.resultData[i][_this.tableEnglishField[j]]) == "undefined"||_this.resultData[i][_this.tableEnglishField[j]]==='null'||!/[\u4e00-\u9fa5]/.test(String(_this.tableEnglishField[j]))|| /[\u4e00-\u9fa5]/.test(String(_this.resultData[i][_this.tableEnglishField[j]])) ){
                    //不做处理数据
                }else if(_this.tableEnglishField[j].indexOf("距平百分率")>-1){//距平百分率数据单独处理
                    _this.resultData[i][_this.tableEnglishField[j]] = Number(_this.resultData[i][_this.tableEnglishField[j]].split("%")[0]).toFixed(2)+"%";

                }else{//排除掉string类型和站号等字段,字段类型为double的其他数据取出保留俩位小数重新赋值
                    _this.resultData[i][_this.tableEnglishField[j]] = ((Number(_this.resultData[i][_this.tableEnglishField[j]]))*1.00).toFixed(2);
                }
                // alert(_this.tableEnglishField[j]);
            }
        }
	

        // 有毒啊，这个插件 o(︶︿︶)o 唉
        //表格数据过滤
        res.data.ResultData = res.data.ResultData.filter(function (val,ind) {
            /*索引*/
            val.index = ind;

            /*根据所有的字段转化数字，异常值跳过，保留俩位小数*/
            var normal = true;
            res.data.EnglishTitleList.forEach(function (fi) {
                // if ( String(val[fi]) !== '0' && !val[fi] ){
                //     normal = false;
                //     return;
                // }
                // if(fi.indexOf("适宜度") != -1){
                //     if(val[fi] == null){
                //         val[fi] == "无数据";
                //     }
                // }
                // if (fi != "年" && fi != "月" && fi != "日" && '站号' !== fi && fi.indexOf("适宜度") == -1 && '适宜度' !== fi && fi.indexOf('时间') === -1 && !/[\u4e00-\u9fa5]/.test(String(val[fi]) )  && String(val[fi]) !="") {
                //    // val[fi] = val[fi];
                //
					// val[fi] = Number(val[fi]).toFixed(2);
                //
                // }

                //农业气象预报_关键农事期预报 如果预报数据小于当前时间则不显示
                // var nowDate = new Date();
                // if(fi.indexOf("成熟期") !== -1 || fi == '成熟期'){
                //     for(var i=0; i<_this.resultData.length; i++){
                //         var date = new Date(Date.parse(_this.resultData[i]['成熟期'].replace(/[\u4e00-\u9fa5]/g,'/')));
                //         if(date.getTime() < nowDate.getTime()){
                //             for(var j=i; j<_this.resultData.length-1; j++){
                //                 _this.resultData[j]=_this.resultData[j+1];
                //             }
                //             _this.resultData.length--;
                //             i--;
                //             if(_this.resultData.length <= 0 || _this.resultData == null){
                //                 // alert('当前作物已成熟,无预报数据');
                //                 break;
                //             }
                //         }
                //
                //     }
                // }


            });
            return normal;
        });




        //最后传入表格数据为0时,效果提示!
        if(_this.resultData.length==0){
            if(_this.tableEnglishField.indexOf('成熟期') > -1){
                layer.msg('当前作物已过成熟期!', {offset: ['300px','50pc'],icon: 5})
            }else{
                layer.msg(Global.postData.startTime+"--"+Global.postData.endTime+'没数据', {offset: ['300px','50pc'],icon: 5});
            }
        }
        _this.recoverResponse =  JSON.parse(JSON.stringify(res.data));

        var tableHead = res.data.EnglishTitleList.reduce( function (all, cur, ind) {
            var ele = {};
            var ele0=  {type:'checkbox',fixed: 'left'};
            all[0]=ele0;
            // if ( cur === '站号' ) {
            //     ele = {field: '站号', title: '站号', fixed: true, sort: true, totalRowText: '合计行' };
            //     // all.unshift(ele);
            //     // all.unshift(ele0);
            //     // return all;
            // }
            if(cur == '名称'){
                ele = {field: '名称', title: '名称', fixed:'left', sort: true, totalRowText:'合计行'}
            }else if(cur == '站号'){
                 ele = {field: '站号', title: '站号', sort: true, totalRowText:'合计行'}
             } else if ( ['市', '县','站名'].indexOf(cur) > -1 || cur.indexOf('时间') > -1 ) {
                ele = {field: cur, title: res.data.TitleList[ind], sort: true };
            } else {
                ele = {field: cur, title: res.data.TitleList[ind], edit:'true', sort:'true', totalRow: true,
                    style:'background-color: #026cea10', templet: function(d){
                        /*var val = Number(d[cur]);    可开启阈值警告样式
                        return val > 7.9 ? '<div style="color: #f00">'+ val +'</div>' : '<div>'+ val +'</div>';*/
                        return '<div>'+ ( String(d[cur]).indexOf('9999') > -1 ? '缺测' : d[cur] ) +'</div>';
                    } };
            }
            all.push(ele);
            return all;

            /*表格内容参数
            * field 数据字段
            * title 字段展示文字
            * sort 是否排序
            * totalRow 是否合计
            * edit 是否可编辑
            * fixed 是否固定 注意：如果是固定在左，该列必须放在表头最前面；如果是固定在右，该列必须放在表头最后面。
            * style 样式
            * width 宽度
            * templet 自定义内容模版
            *
            * 默认站号，名称，市，时间，不能修改且固定左列，其他字段全部开启选项
            *
            * */

        }, []);


        _this.tableHeader = tableHead;
        var tablename=$("#nameSelect").val()+'表';
        layTable.render({
            // id:'dataTable',
            elem: '#dataTable',				//绑定圆元素
            toolbar: toolBar,					//展示工具栏以及自定义工具元素
            title: tablename,			//表名字
            height: 'full-140',				//高度，自适应
            cellMinWidth: 150,				//最小列宽
            totalRow: false,						//开启合计行
            skin: 'row', 							//皮肤，无上下边框
            even: true,
            initSort: {field:'站号', type:'desc'},  //初始排序
            cols: [tableHead],				//表头
            page: true,								//开启分页
             limit: 500,              //默认条数
             limits: [500, 1000, 1500, 2000, 3000],		//分页条数自定义
            data: _this.resultData 		//数据
        });
        

        /*行编辑*/
        layTable.on('edit(tableFilter)', function(obj){

            //注：edit是固定事件名，（）里面是table原始容器的属性 lay-filter="对应的值"
//      console.log(obj.value); //得到修改后的值
//      console.log(obj.field); //当前编辑的字段名
//      console.log(obj.data); //所在行的所有相关数据

            /*气*/
            _this.resultData.filter(function (val) { return val.index === obj.data.index })[0][obj.field] = obj.value;
        });


        // 复选框事件
        layTable.on('checkbox(tableFilter)', function( obj ) {
            let checkStatus = layTable.checkStatus("dataTable"),
                selectCheckDatas = checkStatus.data,
                dataTable = document.querySelector(".layui-table-view"),
                tableMain = dataTable.querySelector(".layui-table-main"),
                dataChart = document.querySelector(".dataChart"),
                elmts = Global.statisticConfig.StatisticElements[ Global.currElementObj.name ];

            if ( elmts.length > 0 && Global.currElementObj.name != "光温水" ) {
                if ( obj.checked && obj.type == "one" ) {
                    dataTable.style.height = dataTable.parentNode.clientHeight / 2 +'px';
                    tableMain.style.height = dataTable.parentNode.clientHeight / 2 - 135 +'px';

                    tableChart.init({
                        elmts: elmts,
                        parent: dataTable.parentNode,
                        curElmt: elmts[0],
                        station: selectCheckDatas
                    });
                } else if ( !obj.checked && obj.type == "one" ) {
                    if ( chartPlay.dataChart ) {
                        chartPlay.dataChart.dispose();
                        chartPlay.dataChart = null;
                        dataChart.remove();

                    }
                    if(selectCheckDatas.length>0 ){
                        tableChart.init({
                            elmts: elmts,
                            parent: dataTable.parentNode,
                            curElmt: elmts[0],
                            station: selectCheckDatas
                        });
                    }else{
                        dataTable.style.height = dataTable.parentNode.clientHeight - 10 +'px';
                        tableMain.style.height = dataTable.parentNode.clientHeight - 145 +'px';
                    }


                    //dataTable.style.height = dataTable.parentNode.clientHeight - 10 +'px';
                    //tableMain.style.height = dataTable.parentNode.clientHeight - 145 +'px';
                }
            }
        });

        /*头工具栏事件*/
        layTable.on('toolbar(tableFilter)', function(obj){
            switch(obj.event){
                case 'toExcel':
                    _this.toExcel();
                    break;
                case 'recoverChange':
                    _this.recoverChange();
                    break;
                case 'dataFilter':
                    _this.dataFilter();
                    break;
                case 'addField':
                    _this.addField();
                    break;
                case 'gisGraphics':
	                colorSelect.init();
                    gisGraphics.init();
                    break;
                case 'downloadImg':
                    _this.downloadImg();
                    break;
                case 'chartPlay':
                    var checkStatus = layTable.checkStatus(obj.config.id);
                    var selectCheckDatas = checkStatus.data; //获取选中的数据
                    if(selectCheckDatas.length == 0){//未选中 默认全部数据
                        selectCheckDatas=obj.config.data;
                    }
                    chartPlay.renderChart(selectCheckDatas);
                    break;
                case 'qs':
                    var pjnq="";
                    if(result.length>0){
                        for(var x=0;x<result.length;x++){
                            pjnq+="<li style='float: left;padding: inherit'><font color=\"#FF0000\">"+"站号:"+result[x]+"  缺失数据"+"</font></li>";
                        }
                        layer.open({
                            title: '缺失数据的站点详情'
                            ,content: pjnq
                            ,area: ['500px', '300px']
                            ,offset: ['250px', '600px']
                        });
                    }else {
                        layer.open({
                            title: '缺失数据的站点详情'
                            ,content: '数据完整!!!'
                            ,area: '500px'
                            ,offset: ['250px', '600px']
                        });
                    }
                    break;
            }
        });
    },
    /*导出excel*/
    toExcel:function(){
        var _this = this;
        //列标题
        var str='<tr>';
        for(x=0;x<_this.tableHeadField.length;x++){
            str+='<td>'+_this.tableHeadField[x]+'</td>';
        }
        str +='</tr>'
        //循环遍历，每行加入tr标签，每个单元格加td标签
        for(var  i = 0 ; i < _this.resultData.length ; i++ ){
            str+='<tr>';
            for(k=0;k<_this.tableHeadField.length;k++){
                var tableHead=_this.tableHeadField[k];
                if(tableHead=="距平"){
                    tableHead="HistoryNccDifStatistic";
                }else if(tableHead=="倒序历史排位"){
                    tableHead="HistoryOrderStatisticDesc";
                }else if(tableHead=="正序历史排位"){
                    tableHead="HistoryOrderStatisticAsc";
                }else if(tableHead=="与历史平均值之差"){
                    tableHead="HistoryAvgDifStatistic" ;
                }
                str+='<td>'+_this.resultData[i][tableHead]+'</td>';
            }
        }
        //Worksheet名
        var worksheet = $("#nameSelect").val()+'表';
        var uri = 'data:application/vnd.ms-excel;base64,';
        //下载的表格模板数据
        var template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" ' +
            ' xmlns:x="urn:schemas-microsoft-com:office:excel"' +
            ' xmlns="http://www.w3.org/TR/REC-html40">' +
            '<head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet>' +
            ' <x:Name>'+worksheet+'</x:Name>' +
            '<x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet>' +
            ' </x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]-->' +
            ' </head><body><table>'+str+'</table></body></html>';
        //下载模板
        window.location.href = uri +_this.base64(template);

    },
    //输出base64编码
    base64:function(s) { return window.btoa(unescape(encodeURIComponent(s))) },
    /*过滤数据*/
    dataFilter: function () {
        var _this = this;

        var content = _this.tableHeadField.reduce(function (all, cur, ind) {
            var inputString = '';
            if ( ['站号', '名称', '市'].indexOf(cur) > -1 ) {
                inputString = '<div class="layui-input-block">' +
                    '<input placeholder="'+ cur + '1，' + cur + '2，' + cur + '3。。。' +'" type="text" class="layui-input" >' +
                    '</div>';
            } else {
                inputString = '<div class="layui-input-inline">' +
                    '<input value="'+ ( _this.tableHeadField[ind].indexOf('时间') > -1 ? new Date(0).format('yyyy-MM-dd') : '-9999' ) +'" type="'+ ( cur.indexOf('时间') > -1 ? 'text' : 'number' ) +'" name="min" class="layui-input" >' +
                    '</div>' +
                    '<div class="layui-form-mid">-</div>' +
                    '<div class="layui-input-inline">' +
                    '<input value="'+ ( _this.tableHeadField[ind].indexOf('时间') > -1 ? new Date().format('yyyy-MM-dd') : '9999' ) +'" type="'+ ( cur.indexOf('时间') > -1 ? 'text' : 'number' ) +'" name="max" class="layui-input" >' +
                    '</div>';
            }
            return all += '<div data-field="'+ cur +'" class="layui-form-item">' +
                '<label class="layui-form-label">'+ _this.tableHeadField[ind] +'</label>' +
                inputString +
                '</div>';
        }, '');

        layLayer.open({
            title: '条件过滤',
            type: 1,
            area: '560px',
            btn: '确定',
            content: '<div class="layui-form data-filter">'+ content +'</div>' +
            '<div class="info">提示说明：<br>站号、名称、市，按输入值模糊匹配，多个值用逗号分离<br>其他字段包含该值按范围过滤</div>',
            yes: function (ind) {
                var filterData = _this.resultData.filter(function (val) {
                    var ok = true;
                    $('.data-filter').children().each(function () {
                        if ( !ok ) return;    /*当前数据的其中一个不满足就返回*/
                        var fieldName = $(this).attr('data-field');
                        var value = String(val[fieldName]);

                        if ( ['站号', '名称', '市'].indexOf(fieldName) > -1 ) {
                            var filterVal = $(this).find('input').val().replace(/，/g,',').split(',');
                            var moreOk = false;
                            filterVal.forEach(function (item) {
                                if ( value.indexOf(item) > -1 ) moreOk = true;
                            });
                            ok = moreOk;
                        } else {
                            var min = $(this).find('input[name="min"]').val(),
                                max = $(this).find('input[name="max"]').val();

                            if ( fieldName.indexOf('时间') > -1 ) {
                                if ( value > max || value < min ) ok = false;
                            } else {
                                if ( Number(value) > Number(max) || Number(value) < Number(min) ) ok = false;
                            }
                        }
                    });

                    return ok;

                });

                _this.resultData = filterData;
                layTable.reload('dataTable', {
                    data: filterData,
                    page: {
                        curr: 1 //重新从第 1 页开始
                    }
                });

                layLayer.close(ind);
            }
        });



    },

    /*添加字段*/
    addField: function () {
        var _this = this;
        layLayer.open({
            title: '新增字段',
            type: 1,
            btn: '确定',
            content: '<div class="layui-form">' +
            '<div class="layui-form-item"> ' +
            '<label class="layui-form-label">字段名<span style="color:#f00">*</span>:</label> ' +
            '<div class="layui-input-block"> ' +
            '<input type="text" id="addFieldName" name="title" autocomplete="off" placeholder="请输入字段名" class="layui-input"> ' +
            '</div> ' +
            '</div>' +
            '<div class="layui-form-item"> ' +
            '<label class="layui-form-label">默认值:</label> ' +
            '<div class="layui-input-block"> ' +
            '<input value="0" type="text" id="defaultField" name="title" autocomplete="off" placeholder="请输入默认值" class="layui-input"> ' +
            '</div> ' +
            '</div>' +
            '</div>',
            yes: function (ind) {
                var name = $('#addFieldName'),
                    def = $('#defaultField');

                if ( name.val().length === 0 ) {
                    name.addClass('layui-form-danger').focus();
                    layLayer.msg('字段名不能为空', {type:0, icon: 5, anim: 6, time: 1500});
                    return;
                } else {
                    name.removeClass('layui-form-danger');
                }

                _this.resultData.forEach(function (val) { val[name.val()] = Number(def.val()); });
                _this.tableEnglishField.push(name.val());
                _this.tableHeadField.push(name.val());

                layTable.reload('dataTable', {
                    data: _this.resultData,
                    cols: [_this.tableHeader.concat({field: name.val(), title: name.val(), edit:'true', sort:'true', totalRow: true,
                        style:'background-color: #026cea10', templet: function(d){
                            return '<div>'+ ( String(d[name.val()]).indexOf('9999') > -1 ? 0 : Number(d[name.val()]) ) +'</div>';
                        } })],
                    page: {
                        curr: 1 //重新从第 1 页开始
                    }
                });

                layLayer.close(ind);
            }
        });
    },

    /*获取对应的站号*/
    getAreaCode:function(areaCode){
        var stationData=[];
        $.ajax({
            //后台查询面板
            url: "./assets/testData/stationmap.json",
            type: 'get',
            async: false,
            dataType: 'json',
            // data: {json:JSON.stringify(Global.postData)},
            success: function (data) {
                for(var i=0;i<data.RECORDS.length;i++){
                    if(data.RECORDS[i].AREACODE.indexOf(areaCode) != -1 ){
                        stationData.push(data.RECORDS[i])
                    }
                }
            },
            error: function (e) {
                console.log(e);
            }
        });
        return stationData;
    },
    /*数组去重*/
    diff:function(arr2,arr1){
        var arr=[];
        for(var x=0;x<arr2.length;x++){
            arr.push(arr2[x]);
        }

        var a=[];var b=[];var r;
        for(var i=0;i<arr.length;i++){
            var index=arr1.indexOf(arr[i]);
            if(index!=-1){
                var r=a[i];
                for(var j=index;j<arr1.length;j++){
                    if(arr1[j]==arr[i]){
                        arr1.splice(j,1);
                        j=j-1;
                    }
                }
                for(var k=i+1;k<arr.length;k++){
                    if(arr[k]==arr[i]){
                        arr.splice(k,1);
                        k=k-1;
                    }
                }
                arr.splice(i,1);
                i=i-1;
            }
        }
        return arr.concat(arr1);
    }


};